草庐IT

require 与 import

全部标签

javascript - 将非 AMD 兼容的 javascript 模块与 require.js 一起使用?

我正在使用require.js来帮助组织我的基于Backbone.js的应用程序。我正在尝试找出使用AMD与require.js不兼容的第3方javascript库的正确方法有问题的图书馆是backbone-tastypie.js.基本上这个库所做的是monkeypatch一些Backbone的原型(prototype)方法,为TastyPieDjangoREST框架提供更简单的支持。它通过直接操作全局命名空间中的Backbone对象来实现这一点。但是,由于我将Backbone.js用作require.js模块,因此当此库尝试访问它时它不可用。我怎样才能在Backbone范围内导入这个

javascript - 使用 ES6 import 语句时,有没有办法防止未定义的项目?

import{foobar1,foobar2,foobor3,//typo!thiskeydoesn'texistinthemodule.}from'./module_file.js'console.log(foobar1,foobar2,foobar3)//EXPLODES我在使用新的ES6样式导入语句时犯的最常见的愚蠢错误之一是我在对象解构中的一个键中有错字。我想不出有哪个实例是我希望解构赋值中的值是undefined的。如果我尝试导入的其中一项未定义,是否有任何方法可以强制导入语句快速失败?即:import{doesntExistInModule//EXPLODENOW!???}

javascript - typescript 。使用 "import from"时是否仍需要三斜杠引用

在旧版本的Typescript中,需要添加著名的///标签添加所需的引用。现在在1.6版本之后我们可以使用推荐的ES6方式导入依赖importGreeterfrom"./greeter";我已经阅读了一段时间,但我仍然不清楚是否以及为什么必须完全避免三斜线引用。顺便说一句。如果我们在tsconfig.json中使用filesGlob而不是files,现在编译器会知道编译TS文件的顺序吗? 最佳答案 首先,我认为filesGlob还没有得到官方支持:https://github.com/Microsoft/TypeScript/iss

javascript - !important 并显示 :none and . height() 怪异

我昨天在处理一段JS代码时发现了一些奇怪的东西。我有一个隐藏的div(display:none),我在JS的一些计算中使用了它的高度。这一切工作正常,直到我添加了我的“隐藏”类(它有display:none!important)。突然高度总是0。除了显示屏上的!important外,没有其他变化。经过一些挖掘后,我将问题缩小到我觉得很奇怪的地方:#b{display:none;}/*reportedheightis36*/#c{display:none!important;}/*reportedheightis0*/我创建了一个非常基本的JSFiddle隔离这个。它还使用vanilla

javascript - 在 Angular 分量中使用 'require'

根据thedocs(具体来说,表格将指令与组件进行比较),Angular组件允许需要其他指令(或者它只是组件?)。但是,组件没有链接功能,可以访问所需的Controller。Thesource,与文档相反,似乎暗示在创建组件时不可能使用“require”。哪个是真的? 最佳答案 引用的来源已过时。从1.5.0开始,组件Controllercanberequired在其他组件中(同样适用于指令)。指南中的示例showsthewayhowthecomponentsanddirectivesshouldinteract在1.5中没有lin

javascript - Webpack 在 require 语句中动态要求加载器

是否可以在require语句中使用带有显式加载器的动态require和require.context?我希望能够做这样的事情,但它对我不起作用:varreq=require.context('../somedir',false,/\.js$/);varimported=req('my-loader!'+someModulePath);//someModulePathdefinedabovesomewhere当我尝试这个时,我得到一个“找不到模块”的错误,这使得webpack似乎正在将字符串的my-loader!部分视为文件路径的开头,但是我希望my-loader!被识别为加载程序,如下

javascript - 什么时候使用 "import * as Foo"与 "import Foo"?

这个问题在这里已经有了答案:DifferencebetweenimportXandimport*asXinnode.js(ES6/Babel)?(3个答案)关闭7年前。我正在将BackboneJS(v1.2.2)项目转换为带有BabelJS的ES6。我注意到两者之间存在差异:importBackbonefrom'backbone'和import*asBackbonefrom'backbone'看完here我知道前者正在导入Backbone的默认导出,而后者允许我“导入整个模块并通过属性符号引用其命名导出。”我很难理解它们之间的区别。两个实例都返回对象,但前者似乎用额外的属性/方法装饰。

javascript - require.js 文本插件将 ".js"添加到文件名

我正在尝试使用requirejs和文本插件,但我遇到了奇怪的问题。我有两个网络服务器:localhost:3000-充当CDN并拥有所有静态文件:js、图像、css和模板localhost:3001-服务器-作为REST服务器,只提供一个文件,即main.html文件main.html文件使用以下行从第二个服务器加载所有js文件:由于某些原因,在使用requirejs文本插件时,他在导航到localhost:3001时向模板添加".js"后缀>我正在使用以下语法:define['jquery','backbone','underscore','models/model','text!t

javascript - http ://required Cross Origin Resource Sharing (CORS) and preflight only happen in IE 的 XMLHttpRequest

我是一名前端开发人员。我只在客户端编码,所以我不确定是否存在错误。我一直在搜索CORS,但仍然不知道我的问题是什么。我正在尝试将数据发布到REST。$.ajax({url:urlPost,type:"POST",data:JSON.stringify(obj),dataType:"json",contentType:"application/json",success:function(res){console.log(JSON.stringify(res));},error:function(res){console.log("Badthinghappend!"+res.status

javascript - 为什么这个 !important CSS 值会被覆盖?

HTML:ThisisatestJavaScript:varelem=document.getElementById('test');elem.style.setProperty('color','green','important');elem.style.color='red';现场演示:http://jsfiddle.net/4fn6h/3/文本在Chrome、Safari和IE9中为绿色,但在Firefox和Opera中为红色。(还有,在IE7、IE8中,文字是黑色的,因为代码报错了,我们忽略吧……)那么,哪些浏览器遵循这里的标准?是否可以覆盖setProperty(...,'